Add urlbase to xsv format. Fix URL output when there is no URL data
authorrobertl <robertl@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Thu, 10 Apr 2003 03:47:50 +0000 (03:47 +0000)
committerrobertl <robertl@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Thu, 10 Apr 2003 03:47:50 +0000 (03:47 +0000)
to output.

gpsbabel/csv_util.c
gpsbabel/xcsv.c

index aefebd80a1102b85ccde0d0d0e6ea03ea90b165c..038d2585c9bc91f1851de6d4852fbfb41d50b055 100644 (file)
@@ -34,6 +34,8 @@
 #define EXCEL_TO_TIMET(a) ((a - 25569.0) * 86400.0)
 #define TIMET_TO_EXCEL(a) ((a / 86400.0) + 25569.0)
 
+extern char *xcsv_urlbase;
+
 /*********************************************************************/
 /* csv_stringclean() - remove any unwanted characters from string.   */
 /*                     returns copy of string.                       */
@@ -651,7 +653,15 @@ xcsv_waypt_pr(const waypoint *wpt)
             sprintf(buff, fmp->printfc, wpt->notes);
         } else
         if (strcmp(fmp->key, "URL") == 0) {
-            sprintf(buff, fmp->printfc, wpt->url);
+           int off = 0;
+           if (xcsv_urlbase) {
+               strcpy(buff, xcsv_urlbase);
+               off = strlen(xcsv_urlbase);
+           }
+           if (wpt->url)
+               sprintf(buff + off, fmp->printfc, wpt->url);
+           else
+               strcpy(buff, "\"\"");
         } else
         if (strcmp(fmp->key, "URL_LINK_TEXT") == 0) {
             sprintf(buff, fmp->printfc, wpt->url_link_text);
index 24f7df3fc7d0eaa8a0f2e14a8bce9455679bea2f..690e6dfb10c5b544124e4210a67d61ba2a9a6d0d 100644 (file)
@@ -34,6 +34,7 @@ static char *styleopt;
 static char *snlenopt;
 static char *snwhiteopt;
 static char *snupperopt;
+char *xcsv_urlbase;
 
 static
 arglist_t xcsv_args[] = {
@@ -41,6 +42,7 @@ arglist_t xcsv_args[] = {
        {"snlen", &snlenopt, "Max synthesized shortname length"},
        {"snwhite", &snwhiteopt, "(0/1) Allow whitespace synth. shortnames"},
        {"snupper", &snupperopt, "(0/1) UPPERCASE synth. shortnames"},
+       {"urlbase", &xcsv_urlbase, "Basename prepended to URL on output"},
        {0, 0, 0}
 };